#ifndef ACTOR_H
#define ACTOR_H
#include <QList>
#include <QObject>
#include "gl.hpp"

/**
    \short If it can be seen, heard, controlled, interacted with, targeted, etc, it's an Actor.
    The Actor superclass is an interface defining some basic properties that all actors share.
*/
class Actor : public QObject
{
    Q_OBJECT;
public:
    Actor(QObject *parent = 0);
public slots:
    virtual void load();    // anything that needs to go into memory, goes into memory
    virtual void update(float);
    virtual void action();

    virtual void receiveEvent(const QByteArray &eventName);
protected:

};

typedef QList<Actor*> ActorList;
#endif // ACTOR_H
